package com.example.a2209_mianshi.buildSrc


object Versions {

    const val material = "1.4.0"
    const val appcompat = "1.1.0"
    const val constraintLayout = "2.0.0-beta3"
    const val navigation = "2.4.2"
    const val coreKTX = "1.3.0"
    const val lifecycleKTX = "2.5.0-rc02"
    const val activityKTX = "1.4.0"
    const val fragmentKTX = "1.4.1"

    const val coroutines = "1.6.1"

    const val hit = "2.38.1"
    const val hiltViewModel = "1.0.0-alpha01"

    const val junit = "4.13.2"
    const val junitExt = "1.1.3"
    const val recyclerview = "1.0.0"
    const val espressoCore = "3.4.0"

    const val dialog = "3.2.4"
    const val autoSize = "v1.2.1"
    const val aRouter = "1.5.2"
    const val retrofit = "2.6.0"
    const val mmkv = "1.2.13"
    const val gson = "2.8.5"
    const val glide = "4.12.0"

}

object ProjectDependencies {

    //support
    const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
    const val material = "com.google.android.material:material:${Versions.material}"
    const val constraintLayout = "androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
    const val recyclerview = "androidx.recyclerview:recyclerview:${Versions.recyclerview}"

    //KTX
    const val coreKTX = "androidx.core:core-ktx:${Versions.coreKTX}"
    const val viewModelKTX = "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.lifecycleKTX}"
    const val liveDataKTX = "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.lifecycleKTX}"
    const val lifecycleRuntimeKTX = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.lifecycleKTX}"
    const val activityKTX = "androidx.activity:activity-ktx:${Versions.activityKTX}"
    const val fragmentKTX = "androidx.fragment:fragment-ktx:${Versions.fragmentKTX}"

    //hilt
    const val hiltAndroid = "com.google.dagger:hilt-android:${Versions.hit}"
    const val hiltAndroidCompiler = "com.google.dagger:hilt-android-compiler:${Versions.hit}"
    const val hiltLifecycleViewModel = "androidx.hilt:hilt-lifecycle-viewmodel:${Versions.hiltViewModel}"
    const val hiltCompiler = "androidx.hilt:hilt-compiler:${Versions.hiltViewModel}"

    //coroutines
    const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}"
    const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}"

    //test
    const val junit = "junit:junit:${Versions.junit}"
    const val androidTestJunit = "androidx.test.ext:junit:${Versions.junitExt}"
    const val espressoCore = "androidx.test.espresso:espresso-core:${Versions.espressoCore}"
    //tool

    //retrofit
    const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
    const val retrofitConverterGson = "com.squareup.retrofit2:converter-gson:${Versions.retrofit}"

    //ARouter
    const val aRouterApi = "com.alibaba:arouter-api:${Versions.aRouter}"
    const val aRouterCompiler = "com.alibaba:arouter-compiler:${Versions.aRouter}"

    const val mmkv = "com.tencent:mmkv:${Versions.mmkv}"
    const val gson = "com.google.code.gson:gson:${Versions.gson}"
    const val dialog = "com.kongzue.dialog_v3x:dialog:${Versions.dialog}"
    const val androidAutoSize = "com.github.JessYanCoding:AndroidAutoSize:${Versions.autoSize}"

    //rxPermission
    const val rxJava2 = "io.reactivex.rxjava2:rxjava:2.1.13"
    const val rxAndroid = "io.reactivex.rxjava2:rxandroid:2.0.2"

    //glide
    const val glide = "com.github.bumptech.glide:glide:${Versions.glide}"
    const val glideCompiler = "com.github.bumptech.glide:compiler:${Versions.glide}"
    const val glideOkhttp = "com.github.bumptech.glide:okhttp3-integration:${Versions.glide}"

    //沉浸状态栏
    const val immersionBar = "com.geyifeng.immersionbar:immersionbar:3.2.2"
    const val immersionBarKTX = "com.geyifeng.immersionbar:immersionbar-ktx:3.2.2"

    // Java language implementation
    const val navigation = "androidx.navigation:navigation-fragment-ktx:${Versions.navigation}"
    const val navigationKTX = "androidx.navigation:navigation-ui-ktx:${Versions.navigation}"

    const val mqttV3 = "org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5"
   // const val mqttAndroidService = "libs/org.eclipse.paho.android.service-release.aar"
}

